home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 4 / Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso / Development / Source / MovieToolBox / gGlobals.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-02-09  |  4.0 KB  |  188 lines  |  [TEXT/KAHL]

  1. #ifndef __TYPES__
  2. #include <Types.h>
  3. #endif
  4. #include    <Files.h>
  5. #ifndef __QUICKDRAW__
  6. #include <QuickDraw.h>
  7. #endif
  8. #include    <Packages.h>
  9. #include    <Memory.h>
  10. #ifndef __EVENTS__
  11. #include <Events.h>
  12. #endif
  13. #include    <OSUtils.h>
  14. #include    <ToolUtils.h>
  15. #include    <Menus.h>
  16. #include    <Dialogs.h>
  17. #include    <Errors.h>
  18. #include    <SysEqu.h>
  19. #include    <GestaltEqu.h>
  20. #include    <Resources.h>
  21. #include    <Finder.h>
  22. #include    <PictUtil.h>
  23. #include    <palettes.h>
  24. #include    <OSEvents.h>
  25. #ifndef __WINDOWS__
  26. #include    <Windows.h>
  27. #endif
  28.  
  29. #ifndef __STANDARDFILE__
  30. #include <StandardFile.h>
  31. #endif
  32.  
  33.  
  34. #ifndef    THINK_C
  35. #include <pascal.h>
  36. #include <BDC.h>
  37. #include    <Strings.h>
  38. #endif
  39.  
  40.  
  41. #include    <ImageCompression.h>
  42. #include     <QuickTimeComponents.h>
  43. #include    <Movies.h>
  44.  
  45.  
  46. #define kExportMenu 155
  47. #define kMyCustomSaveDialog 130
  48.  
  49. #define kNumberSteps  30
  50. #define kFrameRate 10            /* frames per second */
  51. #define    kCodecID  anyCodec
  52. #define    kCodecType  (CodecType) 'rpza'
  53. #define    kCodecDepth 32
  54. #define    kCodecQuality  codecNormalQuality
  55.  
  56. extern Boolean        gHasNewStdFile;
  57.  
  58. extern CWindowPtr    gSrcWindow;            // Image source 1
  59. extern CWindowPtr    gAltWindow;            // Image source 2
  60. extern CWindowPtr    gDstWindow;            // Window used to display preview stages of movie
  61. extern RGBColor     BACKColor;            // Background Fill Color (Used in Slide Pict, etc...)
  62. extern WindowPtr    gActiveWindow;
  63.  
  64. extern Rect            gOriginalPicFrame;
  65. extern PicHandle    gOriginalPicture;
  66.  
  67. extern GWorldPtr     gWorld;                // Image source 1
  68. extern GWorldPtr     gAltWorld;            // Image source 2
  69. extern GWorldPtr     gDstWorld;            // Area used to create the image to be added to movie
  70. extern GWorldPtr    gBufferWorld;
  71.  
  72. extern MenuHandle    gMenus[6];            
  73. extern Boolean        gExitFlag;
  74.  
  75. extern SCParams        gStandardP;
  76.  
  77. extern Boolean        gOversample;
  78. extern Boolean        gReverse;
  79.  
  80. extern long            gFrameNumber;
  81.  
  82. extern long            gNumberSteps;
  83. extern Boolean        gRequiresAlternate;        // if true means requires second picture for processing
  84. extern short        gEffectType;            // type of processing to do ( set for crossfade, set to false to do random dot stereograms )
  85. extern short        gEffectDirection;        // left, right, up, down, etc.
  86.  
  87. #define        APPLE_MENU    0
  88. #define        APPLE_MENU_ID    128
  89.  
  90. #define        FILE_MENU    1
  91. #define        FILE_MENU_ID    129
  92.  
  93. enum { FILE_M_OPEN=1,
  94.         FILE_M_CLOSE,
  95.         FILE_M_SAVE,
  96.         fileImport = 5,
  97.         fileExport,
  98.         FILE_M_QUIT =8
  99.     };
  100.  
  101. #define        EDIT_MENU    2
  102. #define        EDIT_MENU_ID    130
  103. #define        EDIT_M_UNDO        1
  104. #define        EDIT_M_CUT        3
  105. #define        EDIT_M_COPY        4
  106. #define        EDIT_M_PASTE    5
  107. #define        EDIT_M_CLEAR    6
  108.  
  109. #define        MOVIE_MENU    3
  110. #define        MOVIE_MENU_ID    131
  111.  
  112. #define        MOVIE_M_COMPRESS    1
  113. #define        MOVIE_M_STAGES        2
  114. #define        MOVIE_M_OVERSAMPLE    3
  115. #define        MOVIE_M_PREVIEW        5
  116. #define        MOVIE_M_MOVIE        7
  117. #define        MOVIE_M_APPEND        MOVIE_M_MOVIE + 1
  118.  
  119. enum {                     /* Direction Menu */
  120.     Direction_Menu=5,
  121.     Direction_MenuID=30,
  122.     
  123.     EFFECT_BACKWARDS = 1,
  124.     Effect_line1,
  125.     EFFECT_Roll_Left,
  126.     EFFECT_Roll_Right,
  127.     EFFECT_Roll_Down,
  128.     EFFECT_Roll_Up,
  129.     EFFECT_Roll_UpperRight,
  130.     EFFECT_Roll_LowerRight,
  131.     EFFECT_Roll_LowerLeft,
  132.     EFFECT_Roll_UpperLeft
  133.     };
  134.     
  135. enum { EFFECT_MENU=4,
  136.         EFFECT_MENU_ID=132,
  137.         Effect_Direct = 1,
  138.         Effect_line2,
  139.         EFFECT_BACKColor,
  140.         Effect_line3,
  141.         EFFECT_CrossFad,
  142.         EFFECT_Slide,
  143.         EFFECT_Roll,
  144.         EFFECT_StereoGram,
  145.         Effect_AdobeWipe,
  146.         EFFECT_CircleWipe,
  147.         EFFECT_ClockWipe
  148.         };
  149.  
  150. /*********************************************
  151.  
  152.     Funtion prototypes.
  153.     
  154. */
  155.  
  156. Boolean HandleEvents(EventRecord *myEvent);
  157. OSErr DoOpen(FSSpec *fsp);
  158. long rand(long reseed);
  159. unsigned char DecodeDepth(unsigned char pix);
  160.  
  161. void DoCrossFade(long stageNum,long totalStages,Boolean reverse);
  162.  
  163.  
  164. void DoRandomDotStereogram(long stageNum,long totalStages,Boolean reverse);
  165.  
  166. void DoStage(long stageNum,long totalStages,Boolean reverse);
  167.  
  168.  
  169. void DoClear();
  170.  
  171. void DoUpdate(CWindowPtr wind);
  172.     
  173. void DoPreview(Boolean dialog);
  174.  
  175. pascal Boolean myImportFileFilter(ParmBlkPtr PB);
  176. void importMovie(void);
  177.  
  178. pascal Boolean myExportFileFilter(ParmBlkPtr PB);
  179. pascal short myDlgHook(short item, DialogPtr theDialog, short *whichConverter);
  180. void exportMovie(void);
  181.  
  182. void Error(char *msg,OSErr code);
  183.  
  184. OSErr DoMovie(Boolean Append);
  185.  
  186. Boolean OptionDown(void);
  187. Boolean ShiftDown(void);
  188.